package com.appistry.management;

import java.net.InetAddress;
import java.util.List;
import java.util.Map;

import com.appistry.management.exception.FabricManagerException;

public interface Worker extends Controller {
	public String getIpAddress();

	public InetAddress getInetAddress();

	public WorkerInfo getWorkerInfo() throws FabricManagerException;

	public Map<String, String> getWorkerAddrCfg() throws FabricManagerException;

	public void putWorkerAddrCfg(Map<String, String> workerAddrCfg) throws FabricManagerException;

	public void putWorkerAddrCfg(Map<String, String> workerAddrCfg, WorkerOption option) throws FabricManagerException;

	public int getWorkerKeeperUpcount() throws FabricManagerException;

	public Manifest getWorkerManifest() throws FabricManagerException;

	public List<ManifestEntry> getWorkerManifestEntryList() throws FabricManagerException;

	public ManifestEntry getWorkerManifestEntry(String entry) throws FabricManagerException;

	public WorkerPerformanceInfo getWorkerPerformanceInfo() throws FabricManagerException;

	public State getWorkerState() throws FabricManagerException;
}
